﻿using Tesla.Proveedores;
using Tesla.Validador;
using Tesla.Excepciones;
using Rendiciones.Logica.Modelos;
using System.Collections.Generic;
using System.Linq;

namespace Rendiciones.Logica.Servicios
{
    public interface IServProveedor
    {
        List<Proveedor> Buscar(string prefix, int count);
    }

    public class ServProveedor : IServProveedor
    {
        private readonly IProveedor _proveedor;
        private readonly IValidador _validador;

        public ServProveedor(IProveedor proveedor, IValidador validador)
        {
            _proveedor = proveedor;
            _validador = validador;
        }

        public List<Proveedor> Buscar(string prefix, int count)
        {
            try
            {
                var proveedores = _proveedor.Search(new Proveedor(), new { Prefix = prefix, Count = count }).ToList();
                return proveedores;
            }
            catch (NoHuboResultadosException)
            {
                return new List<Proveedor>();
            }
        }
    }
}